1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package rx.internal.operators;
17
18 import static org.mockito.Mockito.mock;
19 import static org.mockito.Mockito.never;
20 import static org.mockito.Mockito.times;
21 import static org.mockito.Mockito.verify;
22
23 import org.junit.Test;
24
25 import rx.Observable;
26 import rx.Observer;
27
28 public class OperatorCastTest {
29
30 @Test
31 public void testCast() {
32 Observable<?> source = Observable.just(1, 2);
33 Observable<Integer> observable = source.cast(Integer.class);
34
35 @SuppressWarnings("unchecked")
36 Observer<Integer> observer = mock(Observer.class);
37 observable.subscribe(observer);
38 verify(observer, times(1)).onNext(1);
39 verify(observer, times(1)).onNext(1);
40 verify(observer, never()).onError(
41 org.mockito.Matchers.any(Throwable.class));
42 verify(observer, times(1)).onCompleted();
43 }
44
45 @Test
46 public void testCastWithWrongType() {
47 Observable<?> source = Observable.just(1, 2);
48 Observable<Boolean> observable = source.cast(Boolean.class);
49
50 @SuppressWarnings("unchecked")
51 Observer<Boolean> observer = mock(Observer.class);
52 observable.subscribe(observer);
53 verify(observer, times(1)).onError(
54 org.mockito.Matchers.any(ClassCastException.class));
55 }
56 }